iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0

昨天已經初步學會使用dropna刪除資料列的用法,
那麼之前也說明過,
在Pandas有維度的概念在,
因此今天要來講解如何刪除含有NaN資料的欄位。
為了避免混亂、方便對照,
範例與昨日的相同。

範例

首先,先建立一個DataFrame結構的資料,
或是有匯入的資料轉成DataFrame結構也行。
這邊為了方便對照,先印出完整的資料來看。

P.S這裡特別放入np.NaN與空字串的資料

studentsData = {
    'studentId': ['001', '002', '003'],
    'Name': ['A', 'B', 'C'],
    'Height': [175, np.NaN , 164],
    'Weight': [80, 45, 75],
    'City': ['New York', 'Los Angeles', '']
}
students = pd.DataFrame(studentsData)
print(students)

印出資料如下

  studentId Name  Height  Weight         City
0       001    A   175.0      80     New York
1       002    B     NaN      45  Los Angeles
2       003    C   164.0      75             
刪除含有NaN的欄

這邊要來複習一下axis參數,預設為0,
0代表了列(預設),
1代表了欄,
因此在昨天刪除列資料時可不加上此。

而今天要刪除欄的資料語法,
在資料後加上.dropna(axis=1)
axis=1就是必要的,
使用方式如下,

print(students.dropna(axis=1))

印出資料如下,
這裡特別注意到的是含有NaN的欄(Height)的資料已被刪除,
而含有空字串的欄(City)的資料依然存在,
可以知道dropna語法僅會針對NaN資料執行。

  studentId Name  Weight         City
0       001    A      80     New York
1       002    B      45  Los Angeles
2       003    C      75             

今日結語

經過這兩天大家對於dropna語法刪除欄列都有了一定程度的了解,
另外對於axis維度的意義應該也能很好的作運用了,
這些都是很基礎的語法應用,
大家要好好複習喔。


上一篇
DAY25 Pandas使用dropna刪除NaN part1 (刪除列)
下一篇
DAY27 Pandas使用drop_duplicates刪除重複
系列文
走在Pandas資料操縱與分析的路上持續前進30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言